#ifndef CURSOR_H_
#define CURSOR_H_
#include "Cube.h"
#include "CubePile.h"
#include "InputListener.h"
#include "Constants.h"

class Cursor : public InputListener
{
	float xPos, yPos, zPos;
	int xInd, zInd;
	CubePile * currentPile;
	void calculatePosition();
	void checkBounds();
	CubePile * (*cubePiles)[GRID_SIZE];
	Cube * heldCube;
	void grabOrDrop();
	void grab();
	void drop();
	CubePile * getCurrentPile();

	
public:
	Cursor(CubePile * (*aCubePiles)[GRID_SIZE]);
	virtual ~Cursor();
	void render();
	void virtual handleInput(bool keys[321], float timeD);
};

#endif /*CURSOR_H_*/
